<template>
	<view>
		<view class="">
			<view class="login">
				<view>
					<view class="tu">
						<u--input placeholder="202/302……" type="number"></u--input>
					</view>
						<view class="tu" style="margin-top: 15px;">
							<!-- 注意：由于兼容性差异，如果需要使用前后插槽，nvue下需使用u--input，非nvue下需使用u-input -->
							<!-- #ifndef APP-NVUE -->
							<u-input placeholder="后置插槽">
								<!-- #endif -->
								<!-- #ifdef APP-NVUE -->
								<u--input placeholder="后置插槽">
									<!-- #endif -->
									<template slot="suffix">
										<u-code ref="uCode" @change="codeChange" seconds="20"
											changeText="X秒重新获取"></u-code>
										<u-button @tap="getCode" :text="tips" type="success" size="mini"></u-button>
									</template>
									<!-- #ifndef APP-NVUE -->
							</u-input>
							<!-- #endif -->
							<!-- #ifdef APP-NVUE -->
							</u--input>
							<!-- #endif -->
						</view>
					<view class="tu" style="margin-top: 20px;">
						<u--input placeholder="新密码" type="password"></u--input>
					</view>
					<view class="tu" style="margin-top: 20px;">
						<u--input placeholder="请确认你的新密码" type="password"></u--input>
					</view>
					<u-button type="primary" text="确定" color="red" style="margin-top: 30px;"></u-button>
				</view>
			</view>
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				tips: '',
				value: ''
			}
		},
		watch: {
			value(newValue, oldValue) {
				// console.log('v-model', newValue);
			}
		},
		methods: {
			codeChange(text) {
				this.tips = text;
			},
			getCode() {
				if (this.$refs.uCode.canGetCode) {
					// 模拟向后端请求验证码
					uni.showLoading({
						title: '正在获取验证码'
					})
					setTimeout(() => {
						uni.hideLoading();
						// 这里此提示会被this.start()方法中的提示覆盖
						uni.$u.toast('验证码已发送');
						// 通知验证码组件内部开始倒计时
						this.$refs.uCode.start();
					}, 2000);
				} else {
					uni.$u.toast('倒计时结束后再发送');
				}
			},
			change(e) {
				console.log('change', e);
			}
		}
	}
</script>

<style>
	.tu {
		width: 475rpx;
	}

	.login {
		margin-top: 60px;
		display: flex;
		justify-content: center;
	}
</style>